【レポート】 AI と分析ワークロードでストレージ インフラを定義する方法 #GoogleCloudNext
ウィスキー、シガー、パイプをこよなく愛する大栗です。
Google Cloud Next '24 で参加したセッションの中で、ストレージに関するアップデートとウーブン・バイ・トヨタの事例が話されたセッションがあるためご紹介します。
How to define a storage infrastructure for AI and analytical workloads
How to define a storage infrastructure for AI and analytical workloads
セッション概要
このセッションは AI/ML データパイプラインを大規模に構築してユースケースに合わせてブロック、ファイル、オブジェクトストレージ ソリューションの組み合わせを正しく選択したい AI/ML 及びデータ実践者が対象です。データ準備、トレーニング、チューニング、推論と提供など全ての AI/ML ワークロードを最適なストレージ ソリューションで最適化して、 Compute Engine、Google Kubernetes Enginem Vertex のワークフローを簡単に統合する方法を学びます。また Cloud Storage と Anywhere Cache を使用して分析ワークロードを最適化する方法を説明します。
登壇者
- David Stiver
- Group Product Manager
- Google Cloud
- Jason Wu
- Director of Product Management
- Google Cloud
- Yusuke Yachide
- Director of Enterprise AI
- ウーブン・バイ・トヨタ
- Alex Bain
- Staff Software Engineer
- ウーブン・バイ・トヨタ
ワークロードと課題の概要
Jason 氏が AI ワークロードでのストレージについての課題を話しました。
Cloud Storage はデータ集約のために拡張性、安全性、信頼性の高いソリューションを提供してきました。特に AI は非常にデータ集約的なワークフローであるためストレージは非常に重要なコンポーネントです。AI データパイプラインではデータ プレパレーション、AI モデルトレーニング、推論にクラウド インフラストラクチャとして特有の課題があります。
- データ プレパレーション : より良いデータでより良いモデルをの精度を上げるためにデータウィンドウを大きくする必要があるが、そのためにはデータストレージを消費し、モデルの鮮度を上げるためにはスループットが求められます。
- トレーニング : 最大の課題として希少な GPU や TPU を常に適切に動作させるため、トレーニングデータのロード時間を最小化させ、チェックポイントの作成、ノード障害時の復旧の高速化が求められます。
- 推論 : 高速に起動するためにモデルのロード時間を最小限にすることが求められます。
まとめると AI ワークロードにはストレージインフラに対して4種類の要求があります。
- パフォーマンスとスケーラビリティ
- データ管理
- データガバナンス
- エコシステムのサポート
ストレージインフラストラクチャがどうあるべきかを考え直して、クラウド AI ストレージのビジョンを考えました。
Store data once access anywhere, with any performance, any interface and any scale
一度データを保存したら どこからでも、あらゆるパフォーマンスで、あらゆすインタフェースで、あらゆる規模でアクセスできる
クラウド AI ストレージは AI のトレーニングと提供に最適化された、全てのデータを保存するためのクラウドサービスであり、エコシステムと調合されています。先日発表した GCS Fuse、Hyperdisk for ML、Anycast Cache や POSIX に準拠した Filestore や Parallelstore などを提供しています。
Cloud AI ストレージ インフラストラクチャ
David 氏は、今般発表した5種類の新製品について解説しました。
Cloud Storage Anywhere Cache
データ読み込みのスループットを向上させるために、SSD ベースでゾーンごとに読み込みキャッシュを設定できます。1 PiB までスケールして 10 Tps の読み込みスループットが出ます。
1つのバケットに対して複数ゾーンにキャッシュできるため、データ プレパレーションやマルチリージョンでのトレーニングなどにも活用できます。
Cloud Storage FUSE local cache
Cloud Storage を FUSE マウントする時に VM のローカル SSD をキャッシュとして使用できます。小さな繰り返し読み込みやランダム I/O で効果があります。
複数回の読み込みが必要なモデルトレーニングなどで効果を発揮します。
Accelerated Dataloader
Pytorch が Cloud Storage を使用する時に最適化されています。早期のモデル開発にフォーカスされています。
Parallelstore
スーパーコンピューター向けファイルシステムである DAOS を Google Cloud で実装したサービスで Cloud Storage と統合されています。
モデルのトレーニングやチェックポイントなどで特に効果を発揮します。
Hyperdisk ML
ネットワーク ブロック ストレージ サービスである Hyperdisk を AI ワークロード向けに最適化したサービスです。Cloud Storage と統合されています。
モデルのトレーニングや大きなモデルでのサービス提供で効果を発揮します。
医療画像を使用した病理学の例では、モデル開発の各フェーズで効果を上げました。
- 開発中は1〜2のエポックで Accelerated Dataloader を使用して、トレーニング時間が 3.2倍高速になり、3.6倍スループットが向上し、TCO が 69% 抑えられた
- トレーニングやチューニングでは Cloud Storage FUSE で 10〜20 エポックを実行して、 2.3倍トレーニング時間が高速化し、スループットが 3.4倍向上し、TCO が 58% 抑えられた
- 更に大規模にトレーニングやチューニングを行う場合には Parallelestore が効果的で、トレーニング時間が 4.2倍高速化し、4.1倍スループットが向上した
Google Cloud 上のウーブン・バイ・トヨタ
ウーブン・バイ・トヨタでは、高度運転支援システム(ADAS)やマルチメディア機能、テストコースのチームなど様々なドメインの要求をサポートしています。コストだけでなく十分な GPU を確保するためにマルチクラウドで AI プラットフォームを構築しています。
元々とあるクラウドベンダーが提供する Lustre サービスを使用していましたが、利用規模が大きくなるに連れコストが極めて大きくなり、ワークロードの増加によりデータ管理が難しくなっていました。
GPU の可用性向上のためにマルチクラウドへの移行を検討し、Google Cloud Platform へ移行を行いました。代替サービスとして、Cloud Storage FUSE をを使用しましたが、 GKE で CSI ドライバーを導入すると Lustre と同様にカウントができ十分なパフォーマンスを発揮しました。ストレージコストが 97% 低減し、トレーニングコストは 50% 抑えられました。またデータコピーが不要になり管理がシンプルになりました。
発表したばかりの Cloud Storage Anywhere Cache について、検証のオファーがあったので検証してみたところ、2回目のトレーニングでは Cloud Storage に対する操作がなくなり 33% 高速化するという効果がありました。
さいごに
AI ワークロードではモデルそのものや GPU/TPU の話題に終止しがちですが、巨大なデータを扱うためストレージがワークロードに大きな影響を与えることがあります。本セッションでは、裏方のいわゆる地味なアップデート内容をテーマにしていますが、今後のデータ分析や AI ワークロードに大きな効果を与えるアップデートを取り上げています。
効果的なモデルトレーニングを行うためには、GPU/TPU だけでなくストレージサービスの選定にも注目することが重要だと勉強になったセッションでした。